﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
using System.Globalization;
using System.Web.Mvc;
//using System.Web.Mvc;
using System.Web.Security;

namespace GiaoTrinhEPU.Repositories.DataModels
{
    public class UserModel
    {
        [HiddenInput(DisplayValue = false)]
        public int Id { get; set; }

        [Required(ErrorMessage="Tên đăng nhập không được để trống")]
        [Display(Name = "Tên đăng nhập")]
        public string UserName { get; set; }

        [Required(ErrorMessage = "Email không được để trống")]
        [Display(Name = "Email")]
        public string Email { get; set; }

        [Required(ErrorMessage = "Tên đăng nhập không được để trống")]
        [Display(Name = "Số điện thoại")]
        public string Mobile { get; set; }

        [Required(ErrorMessage = "Tên người dùng không được để trống")]
        [Display(Name = "Họ tên")]
        public string FullName { get; set; }

        [Required(ErrorMessage = "Địa chỉ không được để trống")]
        [Display(Name = "Địa chỉ")]
        public string Address { get; set; }

        [Required(ErrorMessage = "Quyền không được để trống")]
        [Display(Name = "Phân quyền")]
        public string Role{get;set;}



        [Required]
        [StringLength(100, ErrorMessage = "{0} phải có độ dài trên {2} ký tự.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Mật khẩu")]
        public string Password { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "Xác nhận mật khẩu")]
        [System.Web.Mvc.Compare("Password", ErrorMessage = "Mật khẩu xác nhận không chính xác.")]
        public string ConfirmPassword { get; set; }

        public UserModel() : base() {}
        public UserModel(UserProfile user)
        {
            this.Id = user.UserId;
            this.UserName = user.UserName;
            this.Mobile = user.Mobile;
            this.Address = user.Address;
            this.Email = user.Email;
            this.Address = user.Address;

        }

    }

    //public class ExternalLogin
    //{
    //    public string Provider { get; set; }
    //    public string ProviderDisplayName { get; set; }
    //    public string ProviderUserId { get; set; }
    //}

}
